prometheus+grafana 监控使用
💡第三方组件声明
因依赖于第三方版本,请第三方组件、中间件和本文保持一致,避免由于第三方升级的兼容性导致无法正常使用。
添加依赖
在需要监控的服务中添加 Prometheus 依赖:
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<scope>runtime</scope>
</dependency>
⚠重新编译
添加依赖后必须重新编译项目(mvn clean install),否则 Prometheus 端点将返回 404
配置端点暴露
在 Nacos 配置中心修改 application-dev.yml,暴露 Prometheus 端点:
management:
metrics:
export:
prometheus:
enabled: true
endpoints:
enabled-by-default: false
web:
exposure:
include: "*"
endpoint:
metrics:
enabled: true
prometheus:
enabled: true
health:
show-details: ALWAYS
💡配置说明
metrics.export.prometheus.enabled 启用 Prometheus 指标导出
endpoints.web.exposure.include: "*" 暴露所有端点(生产环境建议仅暴露必要端点)
health.show-details: ALWAYS 显示详细健康检查信息
部署 Prometheus
Prometheus 是一套优秀的开源监控、报警和时间序列数据库系统,广泛用于 Kubernetes 等容器环境的监控。
配置 Prometheus
创建配置文件 prometheus.yml:
scrape_configs:
- job_name: 'pigx'
scrape_interval: 15s
scrape_timeout: 10s
metrics_path: '/actuator/prometheus'
static_configs:
- targets: ['192.16.1.198:9000']
⚠配置说明
请根据实际部署情况修改 targets 中的 IP 地址和端口,确保 Prometheus 能够访问目标服务。
启动 Prometheus
使用 Docker 一键启动 Prometheus:
docker run -d \
-p 9090:9090 \
-v /prometheus.yml:/etc/prometheus/prometheus.yml \
registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/prometheus:latest \
--config.file=/etc/prometheus/prometheus.yml
访问 Prometheus
成功启动后,访问 http://宿主机IP:9090/ 即可查看 Prometheus 监控界面。
部署 Grafana
Grafana 是一个开源的度量分析与可视化套件,提供丰富的插件和模板,支持多种数据源(如 Prometheus、InfluxDB 等),广泛用于时序数据监控。
启动 Grafana
使用 Docker 一键启动 Grafana:
docker run -d -p 3090:3000 registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/grafana:latest
💡默认账户
Grafana 默认用户名和密码均为 admin,首次登录会要求修改密码。
配置数据源
访问 http://宿主机IP:3090,按以下步骤配置 Prometheus 数据源:
- 点击左侧菜单 Configuration → Data Sources
- 选择 Add data source → Prometheus
- 填写 Prometheus 地址(如
http://宿主机IP:9090)
- 点击 Save & Test 验证连接
导入监控模板
- 点击左侧菜单 + → Import
- 输入模板 ID:13625
- 选择刚才配置的 Prometheus 数据源
- 点击 Import 完成导入
✓配置完成
监控面板配置完成后,即可查看服务的实时监控数据,包括 CPU、内存、JVM、HTTP 请求等指标。
监控效果
